

export function debounce(func, wait = 1000) {
  var timer

  return function (...args) {
    if (timer) {
      clearTimeout(timer)
    }

    timer = setTimeout(function () {
      clearTimeout(timer)
      timer = null
      func.apply(null, args)
    }, wait)
  }
}

export function throttle(callback, time = 1000) {
  var flag = true
  return function () {
    if (flag) {
      flag = false
      callback()
      setTimeout(() => {
        flag = true
      }, time)
    }
  }
}

/** 参考：https://juejin.cn/post/7163932925955112996 vw/vh方案 */
/** 适配采用vw vh方案，保证全屏，不留白 */
const designWidth = 1920
const designHeight = 1080

/** px转vw */
export const px2vw = (_px) => {
  return (_px * 100.0) / designWidth + 'vw'
}
/** px转vh */
export const px2vh = (_px) => {
  return (_px * 100.0) / designHeight + 'vh'
}
/** 
 * px转字号大小
 * 适用于普通文本
 * 不适用于 echarts的canvas绘制的文本，其单位是px，请使用全局函数“FONTSIZE”来动态改变其大小
 */
export const px2font = (_px) => {
  return (_px * 100.0) / designWidth + 'vw'
}
